<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- !01 引入vue.js -->
  <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
  <title>Document</title>
</head>
<body>
  <!-- !02 创建一个根标签节点 id = app  标签 -->
  <div id="app">
    {{message}}//Hello Vue!
  </div>

  <p> {{message}}</p>//{{message}}, 不在vue的作用域内

  <div id="app1">
    {{message1}}//hello,今天你微笑了吗?
  </div>
</body>

</html>
<!-- !由于引入了vue.js文件, 所以就会存在一个vue的一个大对象 -->
<script>
console.log('Vue', Vue);

//解构出来一个createApp 方法, 该方法可以用来创建一个vue的应用,也可以称之为vue实例对象

const {createApp} = Vue;

const vm = createApp({
  data() {//该data 属性用来声明vue 实例中需要的数据

    return{
      message: 'Hello Vue!' //就是一个数据
    }
  }
}).mount('#app') //将整个创建为 vm 实例挂载到 id= "app"这个根节点上

/**
 * !注意: 必须挂载根节点, 因为挂载的意思其实就是声明了vue 语法的作用域*/

console.log('vm', vm);

/***
 * !vm 为项目的实例对象, vue将所有的属性和方法都挂载在该实例上, 可以通过该实例访问该实例上所有的属性和方法*/

// 问题: 可以创建多个实例嘛

const vm1 = createApp({
  data(){
    return{
      message1: 'hello,今天你微笑了吗?'
    }
  }
}).mount('#app1')
</script>